package com.sg.dto.integration.framework;

import com.sg.common.dto.BaseDto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.util.Objects;


/**
 * @desc DeptListDto
 * @使用场景
 */
@Data
public class DeptListDto extends BaseDto implements Serializable {

    /**
     * 部门ID
     */
    @ApiModelProperty("部门ID")
    private String deptId;

    /**
     * 部门标识
     */
    @ApiModelProperty("部门标识")
    private String deptCode;

    /**
     * 父级部门ID
     */
    @ApiModelProperty("父级部门ID")
    private String parentDeptId;

    /**
     * 部门编号
     */
    @ApiModelProperty("部门编号")
    private String deptNumber;

    /**
     * 部门简称
     */
    @ApiModelProperty("部门简称")
    private String deptShortName;

    /**
     * 部门名称（中文）
     */
    @ApiModelProperty("部门名称（中文）")
    private String deptName;

    /**
     * 层级
     */
    @ApiModelProperty("层级")
    private Long levelNumber;

    /**
     * 是否有直属成员 TRUE:是 FALSE:否
     */
    @ApiModelProperty("是否有直属成员")
    private String isDirectlyMember;

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
        if (!super.equals(o)) return false;
        DeptListDto that = (DeptListDto) o;
        return deptId == that.deptId && deptCode == that.deptCode && parentDeptId == that.parentDeptId && deptNumber == that.deptNumber && deptShortName == that.deptShortName && deptName == that.deptName && levelNumber == that.levelNumber && isDirectlyMember == that.isDirectlyMember;
    }

    @Override
    public int hashCode() {
        return Objects.hash(super.hashCode(), deptId, deptCode, parentDeptId, deptNumber, deptShortName, deptName, levelNumber, isDirectlyMember);
    }


}
   